package GouZao;

/**
 *构造函数
 * 注：快捷键 ： Alt+Insert
 * 1.构造函数（constructor）名称和类名相同
 * 2.public private
 * 3.构造函数之间可以相互调用（用this），但是只能在最开始调用
 * 4.如果没有其他构造函数，默认的构造函数才能存在；若有其他的构造函数，则需要全部构造，即使是空函数也要构造
 */
public class Rectangle {
    private int width;//长方形的宽
    private int height;//长方形的长
    public Rectangle() {   //构造函数一定这样写，快捷方式：Alt+Insert+回车
       System.out.println("我是构造函数");
    }
    public Rectangle(int width) {  //构造函数 Alt+Insert回车，选择width 回车
        //this();    //调用无参构造函数
        //this(4,9);   //调用第三个构造函数
        this.width = width;  //此处this指向r1
    }
    public Rectangle(int width, int height) {  //构造函数A lt+Insert回车，按住Ctrl选择width和heightt 回车
        this.width = width;
        this.height = height;
    }
    public static void main(String[] args){
        double x=Math.sqrt(2);
        System.out.println(x);

    }
}
class Test{
    public static void main(String[] args){
        Rectangle r=new Rectangle();
        //new后面的“Rectangle（）”就是构造函数，构造函数只有在创建对象的时候才会被调用，
        // 特殊情况：同一个类里的构造函数间可以相互调用
        Rectangle r1=new Rectangle(30);
        Rectangle r2=new Rectangle(4,9);
    }
}
